package org.lease.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.lease.model.dto.LeaseAgreementDTO;
import org.lease.model.entity.LeaseAgreement;
import org.lease.model.entity.LeaseTerm;
import org.lease.model.query.LeaseAgreementPageQuery;
import org.lease.model.vo.AgreementDetailVo;
import org.lease.model.vo.AgreementItemVo;

import java.util.List;

public interface LeaseAgreementService extends IService<LeaseAgreement> {
    Long countLeasedByApartmentId(Long apartmentId);

    IPage<LeaseAgreementDTO> pageQueryLeaseAgreementDTO(LeaseAgreementPageQuery query);

    LeaseAgreementDTO getLeaseAgreementDTOById(Long id);

    List<AgreementItemVo> listItem(String username);

    AgreementDetailVo getDetailById(Long id);

    List<LeaseTerm> listByRoomId(Long id);
}
